home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 2000
/
MacHack 2000.toast
/
pc
/
The Hacks
/
Softshoe
/
Lisa's Mac Parts
/
Fonts
/
Face.cp
next >
Wrap
Text File
|
2000-06-23
|
2KB
|
88 lines
// Face.cp
#ifndef Face_h
#include "Face.h"
#endif
#ifndef GrafPortObject_h
#include "GrafPortObject.h"
#endif
#ifndef SplitIntegers_h
#include "SplitIntegers.h"
#endif
#ifndef Str_h
#include "Str.h"
#endif
#ifndef OSError_h
#include "OSError.h"
#endif
#ifndef AppearanceManagerUser_h
#include "AppearanceManagerUser.h"
#endif
bool Face::operator==( const Face& f ) const
{
return font == f.font
&& size == f.size
&& style == f.style;
}
Face Face::ScriptManagerFace( ScriptID script, int16 scriptVariable )
{
uint32 packed = GetScriptVariable( script.ID(), scriptVariable );
return Face( FontNumber( Word1( packed ) ),
FontSize( Word0( packed ) ),
normal );
}
Face Face::AppearanceManagerFace( ScriptID script,
ThemeFontID themeFontID )
{
Assert( AppearanceManagerUser::AtLeastVersion1_1_0() );
String255 name;
int16 size;
::Style style;
OSStatus error = GetThemeFont( themeFontID,
script.ID(),
name,
&size,
&style );
OSError::Debug( error );
if ( error != noErr )
return ScriptManagerFace( script, smScriptAppFondSize );
return Face( FontNumber( name ), FontSize( size ), style );
}
Face Face::System( ScriptID script )
{
return AppearanceManagerUser::AtLeastVersion1_1_0()
? AppearanceManagerFace( script, kThemeSystemFont )
: ScriptManagerFace( script, smScriptSysFondSize );
}
inline Face Face::SmallSystem( ScriptID script )
{
return AppearanceManagerUser::AtLeastVersion1_1_0()
? AppearanceManagerFace( script, kThemeSmallSystemFont )
: ScriptManagerFace( script, smScriptSmallFondSize );
}
Face Face::SmallEmphasizedSystem( ScriptID script )
{
if ( AppearanceManagerUser::AtLeastVersion1_1_0() )
return AppearanceManagerFace( script, kThemeSmallEmphasizedSystemFont );
Face result( ScriptManagerFace( script, smScriptSmallFondSize ) );
result.SetStyle( bold );
return result;
}
Face Face::Views( ScriptID script )
{
if ( AppearanceManagerUser::AtLeastVersion1_1_0() )
return AppearanceManagerFace( script, kThemeViewsFont );
return Face( FontNumber( "\pGeneva" ), FontSize( 10 ), normal );
}